// // 导入数据库操作模块
const db = require('../db/index')

// // 登录普通用户的处理函数,post方法
// exports.commonLogin = (req, res) => {

//     const userinfo = req.body;
//     const sql = 'select * from common_user where username=? and userpwd=?'
//     db.query(sql, [userinfo.username, userinfo.password], (err, results) => {
//         if (err) {
//             return res.cc(err)
//         }
//         // 执行sql语句成功，但是获取到的数据条数不等于1
//         console.log(userinfo);
//         console.log(userinfo.username);
//         console.log(userinfo.password);
//         if (results.length !== 1) return res.cc('登录失败！')
//         res.send({
//             status: 0,
//             message: '登录成功',
//             // token: 'Bearer ' + tokenStr
//         })
//     })
// }
// // 登录学校用户的处理函数,post方法
// exports.schoolLogin = (req, res) => {
//     const userinfo = req.body;
//     const sql = 'select * from school_user where schoolname=? and schoolpwd=?'
//     db.query(sql, [userinfo.schoolname, userinfo.schoolpwd], (err, results) => {
//         if (err) {
//             return res.cc(err)
//         }
//         if (results.length !== 1) return res.cc('登录失败！')
//         console.log(userinfo);
//         console.log(userinfo.schoolname);
//         console.log(userinfo.schoolpwd);
//         res.send({
//             status: 0,
//             message: '登录成功',
//             // token: 'Bearer ' + tokenStr
//         })
//     })
// }
// //学校登录的时候，查看要跳转要单校划片还是多校划片
// exports.getPolicy = (req, res) => {
//     // console.log(req.query.schoolname)
//     const sql = 'select * from area_policy where cityname=?'
//     // 调用db.query()执行sql语句
//     db.query(sql, req.query.cityname, (err, results) => {
//         if (err) return res.cc(err)
//         // 执行sql语句成功,但是查询的结果可能为空
//         if (results.length !== 1) return res.cc('选择单校划片还是多校划片失败')
//         console.log(req.query.schoolname);
//         // 用户信息获取成功
//         res.send({
//             status: 0,
//             message: '选择单校划片还是多校划片成功',
//             result: results[0].policyname
//         })
//     })
// }
// // 查询数据库，查看是否存储该学校的坐标，有的话返回，get方法
// exports.getCoordinate = (req, res) => {
//     // console.log(req.query.schoolname)
//     const sql = 'select * from scribe_single where schoolname=?'
//     // 调用db.query()执行sql语句
//     db.query(sql, req.query.schoolname, (err, results) => {
//         if (err) return res.cc(err)
//         // 执行sql语句成功,但是查询的结果可能为空
//         if (results.length !== 1) return res.cc('获取用户信息失败')
//         console.log(req.query.schoolname);
//         // 用户信息获取成功
//         res.send({
//             status: 0,
//             message: '获取用户信息成功',
//             result: results[0]
//         })
//     })
// }
// // 将学校的名字、中心坐标、坐标数组提交给数据库,没有就插入，有就更新   post方法
// exports.setCoordinate = (req, res) => {
//     console.log(req.body);
//     const sql = 'select * from scribe_single where schoolname=?'
//     db.query(sql, req.body.schoolname, (err, results) => {
//         if (err) return res.cc(err)
//         if (results.length !== 1) {
//             // 数据库没有坐标数组，插入
//             const sqlstr1 = 'insert into scribe_single set ?';
//             db.query(sqlstr1, req.body, (err, results) => {
//                 console.log(req.body);
//                 if (err) return res.cc(err);
//                 if (results.affectedRows !== 1) return res.cc('提交坐标失败')
//                 return res.cc('提交坐标成功', 0)
//             })
//             return
//         }
//         // 数据库有坐标数组，更新
//         const sqlstr2 = 'update scribe_single set centre=?,coordinate=? where schoolname=?'
//         db.query(sqlstr2, [req.body.centre, req.body.coordinate, req.body.schoolname], (err, results) => {
//             if (err) return res.cc(err)
//             if (results.affectedRows !== 1) return res.cc('更新学校坐标信息失败')
//             return res.cc('更新学校坐标信息成功!', 0)
//         })
//         return
//     })
//     return
// }
// // 通过城市名查询大量学校名，中心坐标和坐标数组  get方法
// exports.getSchcencoo = (req, res) => {
//     // console.log(req.query.cityname)
//     const sql = 'select * from scribe_single where cityname=?'
//     // 调用db.query()执行sql语句
//     db.query(sql, req.query.cityname, (err, results) => {
//         if (err) return res.cc(err)
//         // 执行sql语句成功,但是查询的结果可能为空
//         if (results.length === 0) return res.cc('通过城市名获取学校名，中心坐标，坐标数组信息失败')
//         console.log(req.query.cityname);
//         console.log(results);
//         // 用户信息获取成功
//         res.send({
//             status: 0,
//             message: '通过城市名获取学校名，中心坐标，坐标数组信息成功',
//             result: results
//         })
//     })
// }
// // 通过城市名查询大量片区名，片区范围数组   get方法
// exports.getSubarea = (req, res) => {
//     // console.log(req.query.cityname)
//     const sql = 'select * from subarea_division where cityname=?'
//     // 调用db.query()执行sql语句
//     db.query(sql, req.query.cityname, (err, results) => {
//         if (err) return res.cc(err)
//         // 执行sql语句成功,但是查询的结果可能为空
//         if (results.length === 0) return res.cc('获取片区信息失败')
//         console.log(req.query.cityname);
//         console.log(results);

//         // 用户信息获取成功
//         res.send({
//             status: 0,
//             message: '获取片区信息成功',
//             result: results
//         })
//     })
// }
// // 将学校的片区名，中心坐标提交给数据库，没有插入，有就更新    post方法
// exports.setSubnameacen = (req, res) => {
//     console.log(req.body);
//     const sql = 'select * from scribe_multi where schoolname=? and cityname=?'
//     db.query(sql, [req.body.schoolname, req.body.cityname], (err, results) => {
//         if (err) return res.cc(err)
//         if (results.length !== 1) {
//             // 数据库没有坐标数组，插入
//             const sqlstr1 = 'insert into scribe_multi set ?';
//             db.query(sqlstr1, req.body, (err, results) => {
//                 console.log(req.body);
//                 if (err) return res.cc(err);
//                 if (results.affectedRows !== 1) return res.cc('提交片区名字和中心坐标失败')
//                 return res.cc('提交片区名字和中心坐标成功', 0)
//             })
//             return
//         }
//         // 数据库有坐标数组，更新
//         const sqlstr2 = 'update scribe_multi set subarea_name=?,centre=? where schoolname=? and cityname=?'
//         db.query(sqlstr2, [req.body.subarea_name, req.body.centre, req.body.schoolname, req.body.cityname], (err, results) => {
//             if (err) return res.cc(err)
//             if (results.affectedRows !== 1) return res.cc('更新片区名字和中心坐标信息失败')
//             return res.cc('更新片区名字和中心坐标信息成功!', 0)
//         })
//         return
//     })
//     return
// }

// // 多校划片，判断数据库是否有保存该校片区名和中心坐标，有就回显
// exports.getSubnameacen = (req, res) => {
//     // console.log(req.query.schoolname)
//     const sql = 'select * from scribe_multi where schoolname=? and cityname=?'
//     // 调用db.query()执行sql语句
//     db.query(sql, [req.query.schoolname, req.query.cityname], (err, results) => {
//         if (err) return res.cc(err)
//         // 执行sql语句成功,但是查询的结果可能为空
//         if (results.length !== 1) return res.send({
//             status: 1,
//             message: '数据库没有保存该学校的片区名字和中心坐标'
//         })
//         console.log(req.query.schoolname);
//         console.log("找到学校对应的片区", results[0]);
//         // 用户信息获取成功
//         res.send({
//             status: 0,
//             message: '找到学校对应的片区和学校的坐标',
//             result: results[0]
//         })
//     })
// }
// // 通过该城市，查询该城市所有的学校以及学校坐标
// exports.getAllsubnameacen = (req, res) => {
//     // console.log(req.query.schoolname)
//     const sql = 'select * from scribe_multi where cityname=?'
//     // 调用db.query()执行sql语句
//     db.query(sql, req.query.cityname, (err, results) => {
//         if (err) return res.cc(err)
//         // 执行sql语句成功,但是查询的结果可能为空
//         if (results.length === 0) return res.send({
//             status: 1,
//             message: '数据库没有保存该城市的学校名和学校坐标'
//         })
//         let arr = []
//         for (let i = 0; i < results.length; i++) {
//             if (results[i].schoolname && results[i].subarea_name && results[i].centre) {
//                 arr.push(results[i])
//             }
//         }
//         console.log(results[0]);
//         // 用户信息获取成功
//         res.send({
//             status: 0,
//             message: '获取该城市的学校名和学校坐标成功',
//             result: arr
//         })
//     })
// }
// // 通过城市名，查询该区的所有学校的师生人数、区域面积 **school_info**
// exports.getNumandarea = (req, res) => {
//     // console.log(req.query.schoolname)
//     const sql = 'select * from school_info where cityname=?'
//     // 调用db.query()执行sql语句
//     db.query(sql, req.query.cityname, (err, results) => {
//         if (err) return res.cc(err)
//         // 执行sql语句成功,但是查询的结果可能为空
//         if (results.length === 0) return res.send({
//             status: 1,
//             message: '数据库没有保存该城市的师生人数和区域面积'
//         })
//         let arr = []
//         for (let i = 0; i < results.length; i++) {
//             let obj = {
//                 schoolname: results[i].schoolname,
//                 studentnumber: results[i].studentnumber,
//                 teachernumber: results[i].teachernumber,
//                 area: results[i].area
//             }
//             arr.push(obj)
//         }

//         // 用户信息获取成功
//         res.send({
//             status: 0,
//             message: '获取该城市的师生人数和区域面积成功',
//             result: arr
//         })
//     })
// }
// // 通过城市名和片区名，查询片区学校名字和学校坐标 scribe_multi
// exports.getSchoolnameandcentre = (req, res) => {
//     // console.log(req.query.schoolname)
//     const sql = 'select schoolname,centre from scribe_multi where cityname=?&&subarea_name=?'
//     // 调用db.query()执行sql语句
//     console.log(req.query.cityname);
//     console.log(req.query.subarea_name);
//     db.query(sql, [req.query.cityname, req.query.subarea_name], (err, results) => {
//         if (err) return res.cc(err)
//         // 执行sql语句成功,但是查询的结果可能为空
//         if (results.length === 0) return res.send({
//             status: 1,
//             message: '数据库没有保存该城市片区的学校名字和学校坐标'
//         })
//         console.log(results);
//         // 用户信息获取成功
//         res.send({
//             status: 0,
//             message: '获取该城市片区的学校名字和学校坐标成功',
//             result: results
//         })
//     })
// }

// // 通过学校名，查询该学校的口碑和升学率
// exports.getSchoolinfo = (req, res) => {
//     // console.log(req.query.schoolname)
//     const sql = 'select * from school_weight where schoolname=?'
//     // 调用db.query()执行sql语句
//     db.query(sql, req.query.schoolname, (err, results) => {
//         if (err) return res.cc(err)
//         // 执行sql语句成功,但是查询的结果可能为空
//         if (results.length === 0) return res.send({
//             status: 1,
//             message: '数据库没有保存该学校的升学率和口碑'
//         })
//         console.log(results);
//         // 用户信息获取成功
//         res.send({
//             status: 0,
//             message: '获取该学校的升学率和口碑成功',
//             result: results
//         })
//     })
// }

exports.getInfo = (req, res) => {
    // console.log(req.query.schoolname)
    const sql = 'select * from block'
    // 调用db.query()执行sql语句
    db.query(sql, (err, results) => {
        if (err) return res.cc(err)
        // 执行sql语句成功,但是查询的结果可能为空
        if (results.length === 0) return res.send({
            status: 1,
            message: '数据库没有保存该学校的升学率和口碑'
        })
        console.log(results);
        // 用户信息获取成功
        res.send({
            status: 0,
            message: '获取该学校的升学率和口碑成功',
            result: results
        })
    })
}
exports.getSchoolinfo = (req, res) => {
    // console.log(req.query.schoolname)
    const sql = 'select * from school'
    // 调用db.query()执行sql语句
    db.query(sql, (err, results) => {
        if (err) return res.cc(err)
        // 执行sql语句成功,但是查询的结果可能为空
        if (results.length === 0) return res.send({
            status: 1,
            message: '数据库没有保存该学校的升学率和口碑'
        })
        console.log(results);
        // 用户信息获取成功
        res.send({
            status: 0,
            message: '获取该学校的升学率和口碑成功',
            result: results
        })
    })
}
exports.getSchoolnum = (req, res) => {
    // console.log(req.query.schoolname)
    const sql = 'select admission_num from school where schoolname=?'
    // 调用db.query()执行sql语句
    db.query(sql, req.query.schoolname, (err, results) => {
        if (err) return res.cc(err)
        // 执行sql语句成功,但是查询的结果可能为空
        if (results.length === 0) return res.send({
            status: 1,
            message: '数据库没有保存该学校的升学率和口碑'
        })
        console.log(results);
        // 用户信息获取成功
        res.send({
            status: 0,
            message: '获取该学校的升学率和口碑成功',
            result: results
        })
    })
}
exports.getBlocknum = (req, res) => {
    // console.log(req.query.schoolname)
    const sql = 'select blocknumber from block where blockname=?'
    // 调用db.query()执行sql语句
    db.query(sql, req.query.blockname, (err, results) => {
        if (err) return res.cc(err)
        // 执行sql语句成功,但是查询的结果可能为空
        if (results.length === 0) return res.send({
            status: 1,
            message: '数据库没有保存该学校的升学率和口碑'
        })
        console.log(results);
        // 用户信息获取成功
        res.send({
            status: 0,
            message: '获取该学校的升学率和口碑成功',
            result: results
        })
    })
}
exports.setSchoolnum = (req, res) => {
    console.log(req.body);
    const sql = 'update school set admission_num=? where schoolname=?'
    db.query(sql, [req.query.admission_num, req.query.schoolname], (err, results) => {
        if (err) return res.cc(err)
        if (results.affectedRows !== 1) return res.cc('更新片区名字和中心坐标信息失败')
        return res.cc('更新片区名字和中心坐标信息成功!', 0)
    })
    return
}
exports.setBlocknum = (req, res) => {
    console.log(req.body);
    const sql = 'update block set blocknumber=? where blockname=?'
    db.query(sql, [req.query.blocknumber, req.query.blockname], (err, results) => {
        if (err) return res.cc(err)
        if (results.affectedRows !== 1) return res.cc('更新片区名字和中心坐标信息失败')
        return res.cc('更新片区名字和中心坐标信息成功!', 0)
    })
    return
}
// 得到总条数
exports.getTotalblock = (req, res) => {
    const sql = 'select * from block'
    // 调用db.query()执行sql语句
    db.query(sql, (err, results) => {
        if (err) return res.cc(err)
        // 执行sql语句成功,但是查询的结果可能为空
        if (results.length === 0) return res.send({
            status: 1,
            message: '数据库没有数据'
        })
        console.log(results);
        // 用户信息获取成功
        res.send({
            status: 0,
            message: '获取数据的长度成功',
            result: results.length
        })
    })
}
// 得到该页的数据
exports.getListblock = (req, res) => {
    const sql = 'select * from block'
    const current = req.query.current
    // 调用db.query()执行sql语句
    db.query(sql, (err, results) => {
        if (err) return res.cc(err)
        // 执行sql语句成功,但是查询的结果可能为空
        if (results.length === 0) return res.send({
            status: 1,
            message: '数据库没有数据'
        })
        console.log(results);
        // 用户信息获取成功
        let arr = results.slice(((current - 1) * 10), current * 10)
        res.send({
            status: 0,
            message: '获取数据的长度成功',
            result: arr
        })
    })
}
// 根据名字删除某条数据，参数是名字
exports.deleteBlock = (req, res) => {
    const sql = 'delete from block where id=?'
    // 调用db.query()执行sql语句
    db.query(sql, req.query.id, (err, results) => {
        if (err) return res.cc(err)
        if (results.affectedRows !== 1) return res.cc('删除数据失败')
        res.cc('删除数据成功', 0)
    })
}
// 根据名字查询某条数据，参数是名字
exports.getValueblock = (req, res) => {
    const sql = 'select * from block where blockname=?'
    // 调用db.query()执行sql语句
    db.query(sql, req.query.blockname, (err, results) => {
        if (err) return res.cc(err)
        // 执行sql语句成功,但是查询的结果可能为空
        if (results.length === 0) return res.send({
            status: 1,
            message: '数据库没有数据'
        })
        console.log(results);
        // 用户信息获取成功
        res.send({
            status: 0,
            message: '查询数据成功',
            result: results
        })
    })
}
// 根据名字修改某条数据，参数是名字
exports.updateBlock = (req, res) => {
    console.log(req.body);
    const sql = 'update block set blockname=?,blocknumber=?,blocksite=?,blockzone=?,school=? where id=?'
    db.query(sql, [req.body.blockname, req.body.blocknumber, req.body.blocksite, req.body.blockzone, req.body.school, req.body.id], (err, results) => {
        if (err) return res.cc(err)
        if (results.affectedRows !== 1) return res.cc('更新数据失败')
        return res.cc('更新数据成功!', 0)
    })
    return
}
// 添加数据，参数是相关信息
exports.addBlock = (req, res) => {
    console.log(req.body);
    const sql = 'insert into block set ?'
    db.query(sql, req.body, (err, results) => {
        if (err) return res.cc(err)
        if (results.affectedRows !== 1) return res.cc('添加数据失败')
        return res.cc('添加数据成功!', 0)
    })
}


// 得到总条数
exports.getTotaluser = (req, res) => {
    const sql = 'select * from user'
    // 调用db.query()执行sql语句
    db.query(sql, (err, results) => {
        if (err) return res.cc(err)
        // 执行sql语句成功,但是查询的结果可能为空
        if (results.length === 0) return res.send({
            status: 1,
            message: '数据库没有数据'
        })
        console.log(results);
        // 用户信息获取成功
        res.send({
            status: 0,
            message: '获取数据的长度成功',
            result: results.length
        })
    })
}
// 得到该页的数据
exports.getListuser = (req, res) => {
    const sql = 'select * from user'
    const current = req.query.current
    // 调用db.query()执行sql语句
    db.query(sql, (err, results) => {
        if (err) return res.cc(err)
        // 执行sql语句成功,但是查询的结果可能为空
        if (results.length === 0) return res.send({
            status: 1,
            message: '数据库没有数据'
        })
        console.log(results);
        // 用户信息获取成功
        let arr = results.slice(((current - 1) * 10), current * 10)
        res.send({
            status: 0,
            message: '获取数据的长度成功',
            result: arr
        })
    })
}
// 根据名字删除某条数据，参数是id
exports.deleteUser = (req, res) => {
    const sql = 'delete from user where id=?'
    // 调用db.query()执行sql语句
    db.query(sql, req.query.id, (err, results) => {
        if (err) return res.cc(err)
        if (results.affectedRows !== 1) return res.cc('删除数据失败')
        res.cc('删除数据成功', 0)
    })
}
// 根据名字查询某条数据，参数是名字
exports.getValueuser = (req, res) => {
    const sql = 'select * from user where username=?'
    // 调用db.query()执行sql语句
    db.query(sql, req.query.username, (err, results) => {
        if (err) return res.cc(err)
        // 执行sql语句成功,但是查询的结果可能为空
        if (results.length === 0) return res.send({
            status: 1,
            message: '数据库没有数据'
        })
        console.log(results);
        // 用户信息获取成功
        res.send({
            status: 0,
            message: '查询数据成功',
            result: results
        })
    })
}
// 根据名字修改某条数据，参数是id
exports.updateUser = (req, res) => {
    console.log(req.body);
    const sql = 'update user set username=?,userpwd=?,status=? where id=?'
    db.query(sql, [req.body.username, req.body.userpwd, req.body.status, req.body.id], (err, results) => {
        if (err) return res.cc(err)
        if (results.affectedRows !== 1) return res.cc('更新数据失败')
        return res.cc('更新数据成功!', 0)
    })
    return
}
// 添加数据，参数是相关信息
exports.addUser = (req, res) => {
    console.log(req.body);
    const sql = 'insert into user set ?'
    db.query(sql, req.body, (err, results) => {
        if (err) return res.cc(err)
        if (results.affectedRows !== 1) return res.cc('添加数据失败')
        return res.cc('添加数据成功!', 0)
    })
}


// 得到总条数
exports.getTotalschool = (req, res) => {
    const sql = 'select * from school'
    // 调用db.query()执行sql语句
    db.query(sql, (err, results) => {
        if (err) return res.cc(err)
        // 执行sql语句成功,但是查询的结果可能为空
        if (results.length === 0) return res.send({
            status: 1,
            message: '数据库没有数据'
        })
        console.log(results);
        // 用户信息获取成功
        res.send({
            status: 0,
            message: '获取数据的长度成功',
            result: results.length
        })
    })
}
// 得到该页的数据
exports.getListschool = (req, res) => {
    const sql = 'select * from school '
    const current = req.query.current
    // 调用db.query()执行sql语句
    db.query(sql, (err, results) => {
        if (err) return res.cc(err)
        // 执行sql语句成功,但是查询的结果可能为空
        if (results.length === 0) return res.send({
            status: 1,
            message: '数据库没有数据'
        })
        console.log(results);
        // 用户信息获取成功
        let arr = results.slice(((current - 1) * 10), current * 10)
        res.send({
            status: 0,
            message: '获取数据的长度成功',
            result: arr
        })
    })
}
// 根据名字删除某条数据，参数是id
exports.deleteSchool = (req, res) => {
    const sql = 'delete from school where id=?'
    // 调用db.query()执行sql语句
    db.query(sql, req.query.id, (err, results) => {
        if (err) return res.cc(err)
        if (results.affectedRows !== 1) return res.cc('删除数据失败')
        res.cc('删除数据成功', 0)
    })
}
// 根据名字查询某条数据，参数是名字
exports.getValueschool = (req, res) => {
    const sql = 'select * from school where schoolname=?'
    // 调用db.query()执行sql语句
    db.query(sql, req.query.schoolname, (err, results) => {
        if (err) return res.cc(err)
        // 执行sql语句成功,但是查询的结果可能为空
        if (results.length === 0) return res.send({
            status: 1,
            message: '数据库没有数据'
        })
        console.log(results);
        // 用户信息获取成功
        res.send({
            status: 0,
            message: '查询数据成功',
            result: results
        })
    })
}
// 根据名字修改某条数据，参数是id
exports.updateSchool = (req, res) => {
    console.log(req.body);
    const sql = 'update school set schoolname=?,schoolsite=?,studentnumber=?,teachernumber=?,schoolarea=?,admission_num=? where id=?'
    db.query(sql, [req.body.schoolname, req.body.schoolsite, req.body.studentnumber, req.body.teachernumber, req.body.schoolarea, req.body.admission_num, req.body.id], (err, results) => {
        if (err) return res.cc(err)
        if (results.affectedRows !== 1) return res.cc('更新数据失败')
        return res.cc('更新数据成功!', 0)
    })
    return
}
// 添加数据，参数是相关信息
exports.addSchool = (req, res) => {
    console.log(req.body);
    const sql = 'insert into school set ?'
    db.query(sql, req.body, (err, results) => {
        if (err) return res.cc(err)
        if (results.affectedRows !== 1) return res.cc('添加数据失败')
        return res.cc('添加数据成功!', 0)
    })
}

exports.Login = (req, res) => {
    const sql = 'select * from user where username=? and userpwd=?'
    console.log(req.body);
    db.query(sql, [req.body.username, req.body.userpwd], (err, results) => {
        if (err) {
            return res.cc(err)
        }
        // 执行sql语句成功，但是获取到的数据条数不等于1
        if (results.length !== 1) return res.cc('登录失败！')
        res.send({
            status: 0,
            message: '登录成功',
            // token: 'Bearer ' + tokenStr
            result: results[0]

        })
    })
}